package com.aizuda.boot.modules.business.permission.domain.request;

import com.aizuda.boot.modules.common.constant.enums.ContractScopeTypeEnums;
import com.aizuda.boot.modules.common.constant.enums.PermissionStatusType;
import com.aizuda.boot.modules.common.constant.enums.ValidityType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author sangyirong
 * @version 1.0
 * @date 2025/5/17
 */
@Data
@Schema(description = "权限列表返回对象")
public class GetPermissionPageVO {


    /**
     * 权限名称
     */
    @Schema(description = "权限名称")
    private String permissionName;
    /**
     * 用户id，多个用户用"，"分割
     */
    @Schema(description = "用户id，多个用户用','分割")
    private String userId;
    /**
     * 权限状态
     */
    @Schema(description = "权限状态,ENABLE、DISABLE、UN_ENABLE、EXPIRED")
    private PermissionStatusType permissionType;
    /**
     * 有效期类型
     */
    @Schema(description = "有效期类型,PERMANENT、FIXED_DATE")
    private ValidityType validityType;
    /**
     * 开始时间
     */
    @Schema(description = "开始时间")
    private Date startDate;
    /**
     * 结束时间
     */
    @Schema(description = "结束时间")
    private Date endDate;
    /**
     * 数据权限类型
     */
    @Schema(description = "数据权限类型,ALL、DEPARTMENT、CUSTOM、NEGOTIATION")
    private List<ContractScopeTypeEnums> dataType;
}
